Windows LPR Spooler 4.1

A Network Printer Spooler
for Microsoft Windows 3.1

January 17, 1996

Windows LPR Spooler 4.1 is a program which allows transparent printing from Microsoft Windows 3.1, Windows 95 and Windows NT applications to network printers. WLPRSPL allows you to define a large number of remote printers which may be addressed through different Protocol DLLs.

Copyright © 1993-96 by Susanne Heil EDV-Vertrieb. All rights reserved.

Select one of the following topics to get further help:

Product Overview

How the Spooler Works

Installation

The Main Window of the Spooler

Menu options

Printing disk files

Usage Notes

Change Log

How to contact the author

Registration

You can also open the Navigation Window to easily find help topics.


Windows LPR Spooler 4.1
Help Navigation

General info:

Help Index

Product Overview

How the Spooler Works

Installation

The Main Window of the Spooler

Menu options

Printing disk files

Usage Notes

Change Log

How to contact the author

Registration

Help on dialogs:

Preferences

Select Spool Directory

Create Subdirectory

Edit Queue Data

Load Queue Definition File

Save Queue Definition File

Set New Job Title


Windows LPR Spooler 4.1 - Product Overview
Product Overview

Windows LPR Spooler 4.1 is a program which allows transparent printing from Microsoft Windows 3.1, Windows for Workgroups 3.1x, Windows NT, and Windows 95 applications to network printers. The spooler allows you to define a large number of remote printers which may be addressed through different Protocol DLLs.

Included in the package are the following Protocol Libraries:

WLPR2.DLL which implements the Line Printer Daemon (LPD, RFC1179) protocol that is widely used on UNIX hosts.

WJETDIR.DLL which allows printing to HP LaserJet printers or other network printers that accept print jobs being sent to a specific TCP port.

DLL's that support other network printing protocols will be developped over time. For details on which Protocol DLLs currently exist, please contact the author.


How the Spooler Works

Every printer used within Windows is connected to a so-called "port." Examples are LPT1, LPT2, COM1, COM2 etc. But those ports can also be normal disk files. When you add the line

C:\SPOOL\PRINTER.DAT=

to the [ports] section of WIN.INI you may later connect a printer driver to this "port." Every print job sent to this port is written to the specified file. This is what WLPRSPL relies on. WLPRSPL uses a dedicated directory on the PCs hard disk for spooling (i.e. C:\SPOOL). This directory has to be specified the first time you start the program. For each network printer that you want to print to you have to make up a unique spool file name (i.e. HP.PCL for a HP LaserJet in PCL mode). This file name together with the chosen spool directory forms the port (in this case C:\SPOOL\HP.PCL) to which an appropriate Windows printer driver can be connected. The filename without path represents the local queue.

A remote printer is defined by the local queue name as described above, the remote printer name, the host name of the computer that acts as printer server, and the name of the Protocol DLL to be used for connecting to the remote printer. The definitions of all remote printers are kept in a Queue Definition File (which will be abbreviated as QDF from now on). When starting the spooler for the first time, you have to specifiy the location of this file. It may either be located on a local drive, but it could also be on a shared network drive where it is maintained by some network printer administrator.

You define remote printers by filling in the information described above into the "Edit Queue Data" dialog. WLPRSPL automatically adds the chosen spool file name prepended with the spool directory name as a new port to the [ports] section of WIN.INI. Then you can later install an appropriate printer driver for this remote printer and connect it to this port.

When you print to such a network driver from a windows application, the printer data is written to the corresponding spool file. WLPRSPL then puts the file into its own queueing system and sends the data to the remote printer.


Windows LPR Spooler 4.1 -Installation
Installation

If you received the program as a PKZip archive, create a temporary directory on your harddisk, uncompress it with

PKUNZIP WLPRS40D.ZIP <temp-directory>

or a compatible decompression program and then start <tempdir>\SETUP from Program Manager. If you got the package on a floppy disk just start d:\SETUP with d: being the correct floppy drive letter.

The setup program will then guide you through the installation process. You will be prompted for the destination directory where WLPRSPL shall be installed; and for a Program Manager group where an icon for the spooler will be created. Then all files will be copied to their destination directories, and the spooler icon is added to the desired Program Manager group (which is created if necessary). Since some support libraries like the Protocol DLLs are copied to the WINDOWS\SYSTEM directory and might thus replace some older shared copies, Windows might have to be rebooted in order to free the files in case they are currently in use.

If you want WLPRSPL to be automatically launched when Windows is started, copy the spooler icon to your Startup group. This groups name is language dependent, check your Windows documentation for the correct name, as well as on how to copy icons from one group to another.

WSOCKAID.DLL

A note about WSOCKAID.DLL: This is a network software vendor specific DLL containing a few functions that WINSOCK.DLL does not offer. Currently you will not get this DLL from your vendor. The version in this pack directly supports FTP Software's PC/TCP and Microsofts MS-TCP32 for Windows for Workgroups 3.11. The function that WLPRSPL (or better WLPR2.DLL) uses is retrieving the user's login name. If you use a different stack than those mentioned above, you can use the Control Panel to define the username. If you open Control Panel you will see a new icon after the installation of the spooler (see at right). If you double-click it, you open a dialog where you can specify the username. If your TCP stack includes a Windows network driver (like FTP Softwares PC/TCP and Microsofts Windows for Workgroups 3.1x does) then the spooler will normally inquire the username by use of this driver. In this case you will be told so when you open the "Set Username" Control Panel applet. You could then enable the check box labelled "Always use this username, even if the networking software would supply one".

Note that the username is the only thing which WLPR2.DLL retrieves through WSOCKAID.DLL. All other information that WSOCKAID.DLL can give (as described in WSOCKAID.ASC or .PS) is ignored. The local PC hostname for example is retrieved from the networking software directly (through WINSOCK.DLL), which means that you have to have a PC hostname configured in your networking software. Protocol DLLs other than WLPR2.DLL may behave differently. Refer to the corresponding DLL documentation.

For further details concerning the included DLLs please take a look at the corresponding .ASC, .PS, or help files.

Installation and use under Windows 95 and Windows NT

If you want to install the spooler under Windows 95 or Windows NT just follow the instructions above. It should run ok under these operating system.

When you then install printers under Windows 95 that you want to connect to a WLPRSPL port make sure they are installed as local printers and not as network printers. Only local printers can be connected to the port that WLPRSPL creates. Network printers are those that are directly supported by Windows 95 like Lan Manager / NetBIOS based printers or printers on NetWare servers.

The spooler has no access to the registry database where these operating systems store their settings. Due to this fact the spooler starts the 32-bit helper application HSREGMAP.EXE (included in the spooler package) upon startup which copies several registry settings (like the machine and user name as well as all printer settings under NT) to the equivalent locations in SYSTEM.INI where they used to be under Windows 3.1 and Windows for Workgroups 3.11. These settings are monitored permanently as long as this helper application is running so that changes made in the registry are reflected in SYSTEM.INI immediately.

If you upgrade from Version 3.x

If you upgrade from Version 3.x to 4.1, WLPRSPL will recognize this the first time you start the new version. You will be prompted if the settings of the old version shall be retained. If you accept this, you will further be prompted if the old Queue Definition File shall be converted to the new format (which now is in standard Windows .INI format).

The old Queue Definition File must be writable when you choose to update it automatically. So if you have a shared QDF on a network drive you should start the new version on a PC with write access to this file first. It then gets converted, and on all other PCs you can skip the conversion when WLPRSPL 4.1 is started there for the first time.

You can later load 3.x  style QDFs with the Setup/Queues/Load queue definitions... menu option. The program automatically determines that the file is not a 4.x QDF and asks if the file shall be read as 3.x QDF. After the file is read you can save it as 4.x file.

Note that the spooler settings are no longer kept in WIN.INI but in WLPRSPL.INI in the Windows directory.

First start

When you start WLPRSPL for the first time you have to specify the spool directory you want to use. In the dialog that appears you can also create new subdirectories. Once you have selected the spool directory, you have to define the place where the QDF shall be located. It is possible to use a shared QDF that resides on a network drive and which is maintained centrally. The file that you specify does not have to exist at this time. It will be created as soon as you define the first queue in WLPRSPL.

After this first time configuration you may define local queues for all remote printers you want to utilize. This is described in the next section. Then you should install appropriate Windows printer drivers for your network printers and connect them to the corresponding port.

A sample setup session that starts from a fresh installation of the spooler can be found in the manual.


The Main Window of the Spooler

When WLPRSPL is active you normally don't notice anything of its existance because the spooling is done in the background. The WLPRSPL main window always shows you what is currently going on (see screen shot below):

You see the following information being displayed:

o	the time the spooler was started

o	the mode in which Windows is running (Standard or Enhanced)

o	the current state of the spooler (suspended or active)

o	the current run mode of the spooler ("unattended" or "interactive")

o	the currently used spool directory

o	the currently used Queue Definition File

o	a listbox displaying the states of all local queues (more detailed description below)

o	the Windows printer driver used for the currently selected (and therefore highlighted) queue

o	transfer progress status when a queue is active spooling a file

The individual columns in the listbox have the following meaning:

Column:	Meaning:
Symbol	If blank the local queue is currently not connected to a printer driver, if ">" it is connected, if "*" it is connected and is currently selected as default printer.
Red "E"	If present, it indicates that there was some spool error. You can check this error with the Queues/Show last error... menu option and clear the flag with the Queues/Clear error flag menu option.
Loc. Queue	Name of the local queue (and of the spool file).
Rem. Queue	Name of the queue on remote print server.
Host	Name of remote print server.
Description:	Alternatively the queue description can be displayed instead of the remote queue and host name. Queues that have no description still get the remote queue/host name displayed. You can toggle this with the Window/Show ... menu option.
Spool tries unsucc./succ.	Number of print jobs sent over this queue since WLPRSPL was started or since the queue statistics were reset, and number of times the current spool file in a queue failed to be sent.
Files queued	Number of unsent print jobs.

Permanently disabled queues (that means "disabled by user") are shown with red text. A temporarily disabled queue (disabled because of spool error in unattended mode) is shown with yellow text. A queue that is active sending a print job is shown in green, and the box showing the printer driver connected to the currently selected queue is replaced with a progress bar.


Menu Options

Any command that can be activated by double-clicking the left mouse button in combination with a Shift, Ctrl, or Alt key can also be performed by pressing the Enter key together with the same given modifier keys.

The following commands are available from the spooler menu:

o	File

o	Queues

o	Setup

o	Window

o	Help


Printing Disk Files

Besides transparent printing from within Windows applications you can also print any file you have on disk on any of the remote printers defined within the spooler. There are two ways to do this:

1.	Select the File/Print... menu option and select one or more files.

2.	Select the desired print files in File Manager, drag them over to the spooler window or icon and drop them there.

After selecting the files or dropping them you are asked to select the destination printer. You can also specify whether the selected files shall be deleted after they are successfully printed or whether they shall be kept. Note that files marked as ”delete after print” will also be deleted when you cancel them before they are sent. If you want to keep them, mark them with the ”keep after print” flag in the local queue.


Usage Notes

o	When the spool directory is changed after the first installation, new ports are automatically generated for all local queues in the [ports] section of WIN.INI. The user then has to manually connect all printer drivers to those new ports. This is not done automatically.

o	If you have a DOS application that can print to a file in addition to printing to a real LPTx or COMx, you can use WLPRSPL to spool those files. Just let the application print to the file that defines the port for the desired network printer (i.e. C:\SPOOL\HP.PCL). Then there are two possibilities to initiate the transfer: Either you have set the Timer Ticks to a non-zero value. In this case you only have to wait for the specified number of seconds, and WLPRSPL puts the file into its queueing system. If you have disabled this feature you can also switch back to WLPRSPL with Alt-Tab and select Queues/Scan queues immediately from the menu or click on the WLPRSPL icon or window frame with the right mouse button.

Under Windows NT the Timer Ticks feature is not available.

o	The state of all queues (enabled/disabled, number and names of spool files) is saved in the spool directory as file filename.SPL, where filename corresponds to the name of the QDF. When, for example, the name of the QDF is WLPRSPL.QS, then the name of the queue state file is WLPRSPL.SPL. This file should not be deleted because it is needed to determine to which local queue any unsent spool files belong.

o	When you print to a remote printer that automatically detects PostScript files and you get the PostScript text printed, this usually happens due to the fact that the Windows PostScript driver PSCRIPT.DRV prepends the PS datastream with a Ctrl-D (0x04). This character normally causes a locally attached PS printer to reset, but it also makes it impossible for network queues to recognize the print data as PS file. The included Protocol DLL WLPR2.DLL by default filters these characters out of the print data stream.

o	The main window of the spooler can be hidden so you dont see even its icon. To bring the window back into view start a second instance of WLPRSPL (e.g. double click on the spooler icon in Program Manager). To make this easier you can define a hotkey in Program Manager that starts the spooler. This hotkey is then available system-wide.

o	You should try to keep the path to the spool directory as well as the individual queue names as short as possible. Some programs have problems when the port names are too long, and some have problems to enumerate all installed printers (usually done for the File/Printer Setup dialog) when the sum of all port name lengths exceeds the buffer size provided by the application.

o	Under Windows NT and Windows 95 it is currently impossible for the spooler to capture the document title, so in this environment the title will always be ”Windows Print Job”.

o	Under Windows NT 3.51 the defined queues will not be flagged correctly with a ”>” or ”*” at the left when you have connected a printer driver to them. The field ”Printer driver for selected queue” will always say ”none”. However, this does not keep the spooler from recognizing and spooling print jobs.

o	If the Queue Definition File is write-protected or resides on a read-only network drive, the Setup/Queues/Define new queue and Setup/Queues/Define new queue menu options are unavailable. The Setup/Queues/Define new queue menu options brings up the Edit queue data dialog which has all fields protected so that no changes can be made. If you click the Queue Properties... button you are notified that the next dialog will be unable to save any changes you make.


Change Log

Version 4.0a:

o	Package includes WLPR2.DLL Version 2.0a.

o	The logic when saving the state of a queue (enabled, disabled, retry timeout) was changed. Now, if a queue is permanently disabled, it will stay in this state when you close down the spooler and later restart it. Previously, a disabled queue went into "Retry timeout" state when the spooler was restarted.

o	In the "Edit Queue Data" dialog the "Local Spool File" name now is limited to 12 characters.

o	Long queue and host names extended into the data right of it in the main window list box. They are now truncated in the display.

o	In unattended mode, the error code of a failed spool attempt is now kept and can be displayed with the Queues/Show last error... menu option. If an error occured, this is also indicated with a red "E" at the beginning of the relevant line of the listbox in the main window of the spooler.

Version 4.0b:

o	Package includes WLPR2.DLL Version 2.0b.

o	The file name generation scheme for the spool files has been changed. Previously it was based on the time with a 1 second resolution which caused two print jobs to be given the same name if printed within one second.

o	More keyboard accelerators for menu functions.

o	The default Windows printer can now be changed within the spooler to one of the WLPRSPL queues by right-doubleclicking on a spooler queue.

Version 4.0c:

o	Package includes WLPR2.DLL Version 2.0c and WSOCKAID.DLL Version 2.0b.

o	The main window uses a smaller font now.

o	Fixed a bug that caused the spooler to hang when adding queues after it was started without any queue being defined.

o	The Spooler now recognizes when it runs under Windows NT. In this case the timer ticks in the Preferences dialog cannot be changed and remain 0. Otherwise print jobs might be chopped into several parts because the spooler processes them before the file is completely written by the printing application.

Version 4.0d:

o	Package includes WLPR2.DLL Version 2.0d and WSOCKAID.DLL Version 2.0c as well as the new WJETDIR.DLL Version 2.0.

o	The preferences option ”Warn if Print Manager is deactivated” has been added.

o	The preferences option ”Do not prompt when spooler is closed” has been added.

o	Code was added to make sure that new print jobs are recognized even if Print Manager is deactivated under Windows 3.x.

o	Now the main window of the spooler can be hidden on startup as well as per menu option.

o	Fixed a bug that caused new jobs that came in while a dialog/message box was displayed to stay in queue. Now the job is sent as soon as the dialog/message box is closed.

o	In the ”Select Spool Directory” dialog the creation of a new directory has been moved to a sub-dialog which can be reached by clicking the new New dir... button.

o	Fixed a bug in the memory allocation algorithm for the queue management.

o	Now under Windows 3.x the printer setup dialog of the Control Panel is automatically opened. Previously only the Control Panel was loaded, and the user had to manually open this dialog.

Version 4.1:

o	Online help was added.

o	Double clicking with the left mouse button now supports the same modifier keys (Shift, Control, and Alt) like pressing the Enter key. Simple double clicking now opens the local queue status display instead of disabling a queue. For further double click actions see the Menu options reference pages.

o	When the spooler is started while the Control-Key is pressed, it is forced to being suspended.

o	The ”Show local queue” dialog was extended. Now it shows the creation time of a job and allows the user to manipulate the local queue better.

o	The WfW Print Manager obviously has a bug in that it appends a colon to a file port when one changes the default printer within it. This causes all applications and the Control Panel to be unable to determine what the current default printer is. Code has been added to circumvent this problem.

o	Added checks for when the QDF is either write-protected or is on a network drive which is read-only. Editing the queue setup is then disabled.

o	Added the ”Queue description field to the queue definition. Added logic to toggle the main window between display of description or queue/host name.

o	Extended the dialog that shows the local queue status. Added column for date and time of job creation, and added buttons to set new job title and reorder the queue.

o	Added the Merge jobs function to the local queue display.

o	The Protocol DLL selection in the Edit Queue Data dialog has been changed so that the user now can choose from all available protocols.

o	Added drag&drop interface for sending disk files to one of the defined remote printers. Added File/Print file(s)... menu option to select disk files from within the spooler. This caused the shortcut for calling Control Panel to be redefined.

o	Added interface to Printer Browser DLL.

o	Made the local queue display dialog non-modal. Now it can be opened while a transfer runs, and you can open for multiple local queues at once. Most of the available actions are available even if the queue is active sending a file.

o	The default spooler mode has been changed from unattended mode to interactive mode.


Registration

If you want to continue usage after the trial period of of 30 days, please register the program. Contact us for our current price list. Then send us the registration form together with the payment, or with an order which is payed upon reception of our invoice. You will get an invoice/payment receipt together with the serial number and key that you need to remove the splash screen.


Windows LPR Spooler 4.1 - Registration
Windows LPR Spooler 4.1
Registration Form

Name:	___________________________________________
Institution:	___________________________________________
Department:	___________________________________________
Street:	___________________________________________
City/Town and	___________________________________________
ZIP/Post Code:	___________________________________________
State:	___________________________________________
Country:	___________________________________________
Phone number:	___________________________________________
FAX number:	___________________________________________
E-Mail address:	___________________________________________
Customer Number	___________________________________________

I would like to register _______ Windows LPR Spooler 4.1 licenses

for	O   an educational/no-profit institution.	Total price: __________ DM

O   a commercial/for-profit institution.	Total price: __________ DM

Payment:	O    Remittance to:	Bank: Stadtsparkasse Korschenbroich, Germany

Bank Routing Code: 310 512 40	Account: 149401

O    included Cheque

O    Payment will be sent after reception of invoice

______________________________________________

Date/Signature

Please mail this form (with a possible fee included) to

Susanne Heil EDV-Vertrieb

Hindenburgstr. 50

41352 Korschenbroich

Germany


Windows LPR Spooler Author

You can reach us under the mail address

Susanne Heil EDV-Vertrieb

Hindenburgstr. 50

41352 Korschenbroich

Germany

or via

Phone:	+49 (0)2161 644895

Fax:	+49 (0)2161 644337

E-mail:	th.heil@kfa-juelich.de (Internet)

100434,2167 (CompuServe)


Files Menu Option
File Menu Option

Any command that can be activated by double-clicking the left mouse button in combination with a Shift, Ctrl, or Alt key can also be performed by pressing the Enter key together with the same given modifier keys.

The following commands are available here:

Delete next spool file	(Delete)

Delete next spool file in selected local queue.

Delete all spool files in queue	(Ctrl-Delete)

Delete all spool files in selected local queue.

Delete all spool files	(Shift-Ctrl-Delete)

Delete all spool files in all local queues.

Print file(s)	(Ctrl-P)

Allows you to select one or more disk files to be sent to one of the defined remote printers. You can also select one or more files in File Manager and drop them onto the spooler window or icon.

Cancel spooling	(Ctrl-C)

A currently running transfer is cancelled.

Suspend/Resume spooler	(Ctrl-S)

The spooler is suspended, or its operation is resumed, depending on the current state of the spooler. When the spooler is suspended, no print jobs are transferred to remote printers.

Control Panel / Printers...	(Shift+Ctrl-P)

Call the printers setup dialog in control panel. Note that under Windows NT and Windows 95 only the main control panel screen is loaded. You have to open the printer setup dialog manually.

Exit	(Ctrl-X or Alt-F4)

Exit WLPRSPL.


Queues Menu Option

Any command that can be activated by double-clicking the left mouse button in combination with a Shift, Ctrl, or Alt key can also be performed by pressing the Enter key together with the same given modifier keys.

The following commands are available here:

Show remote printer status	(Ctrl-Q or Shift-doubleclick on queue in listbox)

Shows the state of the remote printer that corresponds to the selected local queue by executing an LPQ request. The dialog box showing the remote printer status then allows refreshing the display and cancelling one or more remote print jobs.

Show jobs in local queue	(Ctrl-L or doubleclick on queue in listbox)

Opens a dialog box that shows all jobs which are still in the currently selected local queue. In this dialog box you have the possiblity of removing jobs individually.

Enable/Disable queue	(Ctrl-A or Ctrl-doubleclick on queue in listbox)

The selected local queue is enabled/disabled.

Scan queues immediately	(Ctrl-I or click right mouse button on WLPRSPL symbol)

The spool directory is scanned for new spool files immediately.

Retry to spool now	(Ctrl-N)

If the queue is in retry timeout state (yellow text) because an error occured when trying to send the active spool file, the spooler retries immediately to send the file instead of waiting for the time to expire.

Select as default printer	(Ctrl-D or right-doubleclick on queue in listbox)

The printer connected to the currently selected queue is made the Windows default printer.

Show last error...	(Ctrl-E)

A message describing the last spool error is displayed.

Clear error flag	(Ctrl-F)

The error condition for a queue is reset and the red ”E” flag which indicates that an error occured for this queue is removed. The error message describing the last error can then no longer be queried.

Reset selected queue	(Ctrl-R)

The statistics of the selected local queue are reset.

Reset all queues	(Shift-Ctrl-R)

The statistics of all local queues are reset.


Setup Menu Option

Any command that can be activated by double-clicking the left mouse button in combination with a Shift, Ctrl, or Alt key can also be performed by pressing the Enter key together with the same given modifier keys.

The following commands are available here:

Preferences...

Activates the dialog described in "Adjusting WLPRSPL Operating Parameters"

Spool-Directory...

Activates the dialog for selection of the spool directory described in "First Start".

Queues >

Define new queue	(Alt-Insert)

Activates the dialog for defining a new queue described in "Adding/Changing Network Printer Definitions".

Edit queue data	(Alt-Enter)

Activates the dialog for editing queue data described in "Adding/Changing Network Printer Definitions". The dialog is filled with the data of the currently selected local queue.

Delete queue	(Alt-Delete)

Deletes the currently selected local queue.

Reload queue definitions

Reloads the queue definitions from the currently active QDF.

Load queue definitions...

Activates the dialog for selecting a QDF described in "First Start".

Save queue definitions

Saves changes made to a queue definition in the currently active QDF.

Save queue definitions as...

Saves the current queue definitions to a QDF which must first be selected. If wanted, this new QDF can be made the currently active QDF, which will then be used the next time WLPRSPL starts.

Register Program...

Activates the program registration dialog. If you have a pre-registered version of the program, this menu option is grayed.


Window Menu Option

Any command that can be activated by double-clicking the left mouse button in combination with a Shift, Ctrl, or Alt key can also be performed by pressing the Enter key together with the same given modifier keys.

The following commands are available here:

Show queue and server name / Show queue description	(Ctrl-V)

Toggles the view mode for the main window. Either the description string of a queue is displayed, or queue and host name.

Hide window	(Ctrl-H)

Hides the spooler main window (See section ”Usage Notes” on how to handle the spooler when its main window is hidden).


Help Menu Option

Any command that can be activated by double-clicking the left mouse button in combination with a Shift, Ctrl, or Alt key can also be performed by pressing the Enter key together with the same given modifier keys.

The following commands are available here:

Contents

Opens the spooler help file at its contents overview.

Search for help on...

Lets you search for specific keywords in the spooler help file.

How to use help

Opens the help file for the Windows help engine.

About WLPRSPL

Displays the copyright information, the authors address, and info about the licensee.


Preferences Dialog

The Preferences dialog allows you to change the following settings that affect how the spooler works:

Option:	Meaning:
Timer ticks in sec.	This entry defines the time steps used by WLPRSPL to periodically check for possible spool files. It can be 0 which means that this feature is disabled. With this feature enabled it is possible to create spool files in DOS sessions and have them automatically entered into the WLPRSPL queueing system (see Usage Notes). Under Windows NT this feature is not available, and this option is grayed. Default is 0.
Warn if suspended	When this check box is activated (default), you get a warning every time you print to a remote network printer if the spooler is currently suspended. Default is on.
Unattended mode	When this check box is activated, the spooler is in "Unattended Mode". This means that the user is not notified of spooling errors. Instead the faulty queue is temporarily disabled, and is re-enabled after the number of seconds specified. Default is off.
Automatically re-enable queue after ... sec.	If unattended mode is on, this entry specifies after how long a failed print file transfer is retried. Default is 300 seconds.
Warn if Print Manager is deactivated	If your system runs without Print Manager handling print jobs automatically and this option is activated, you will get a warning message upon startup and when you disable Print Manager in Control Panel/Printers. Without Print Manager being enabled, the spooler cannot inquire the job names of print jobs and might miss print jobs under certain circumstances. This option is only available under Windows 3.1x.
Hide main window on program startup	If enabled, WLPRSPL will start with a hidden main window (so that there will be no trace of it on the Windows desktop). Refer to the section ”Usage Notes” below to learn how to handle WLPRSPL when its main window is hidden.
Do not prompt when spooler is closed	Normally, the spooler prompts the user with a confirmation message when he closes the spooler window. This can be disabled if the spooler is used together with login/logout utilities that close all running applications without leaving Windows.
Show comment line describing printer	If enabled, the main window displays the comment string that has been defined for a printer in the Edit Queue Data dialog. Otherwise the remote queue and server name are displayed. This can also be toggled with the Window/Show queue description or Window/Show queue and server name menu option.

When you press the Ok button, the changes are accepted.

Pushing the Cancel button causes the changes to be thrown away.

The Defaults button resets all options to the default values of the spooler.


Select Spool Directory Dialog

The Select Spool Directory dialog allows you to select the directory on your hard disk where the spooler shall keep all unsent spool files. You can move through all your disks and the directories therein. Once you have entered the directory that you want the spooler to use, clock on the Ok button.

You can also create a new directory within the directory you are currently in. To do this, click on the New dir button, enter the name of the directory to be created, and select Ok. The newly created directory will then appear beneath the current directory in the directory hierarchy.


Create Subdirectory Dialog

In this dialog you can create a new subdirectory within the current directory shown in the Select Spool Directory dialog. Just enter the desired name in the edit field and press Ok. You then return to the Select Spool Directory dialog, and the directory hierarchy shown is automatically updated to include the newly created subdirectory.


Edit Queue Data Dialog

The Edit Queue Data dialog allows you to change the following settings that define a remote printer queue:

Field:	Meaning:
Local Spool File Name:	Name of the spool file (without path) that shall be used for the local queue. This value is up to the user and should be something meaningful that allows to identify this queue.
Remote Printer Name:	Name of the queue on the remote print server.
Remote Host Name:	Internet host name or IP address of the remote print server.
Queue description:	A comment line describing the remote printer. The main window can be toggled to display either this description string or queue and host name. If this field is left blank, the main window will display the queue and host name in any case. You can use all alphanumerical characters, space, and the special characters ,.:-_"'+~*!$%&/()=?\^<>|@
Protocol to be used:	Specifies the Protocol to be used for this remote printer. You can select from all protocol that are currently installed. Default for a new queue is the BSD LPR/LPD protocol (if the corresponding Protocol DLL WLPR2.DLL is installed).
Browse button	If your organization has provided you with a Printer Browser DLL, pressing the Browse button allows you to select one of the printers available at your location. All of the above entries for which the browser has info available will then automatically be filled in. This button is disabled if a Printer Browser DLL is unavailable.

When you press the Ok button, the applied changes are accepted.

Pushing the Cancel button causes those changes to be thrown away.

The Queue properties button brings you to a dialog that is displayed by the chosen Protocol DLL. There you can define and change properties of the remote printer queue that depend on the protocol to be used.


Load Queue Definition File Dialog

This file selection dialog allows you to specify which QDF the spooler shall use. The file you select does not necessarily have to exist; it will be created as soon as you have defined a new queue and either manually save the queue definitions, or when you close the spooler and answer ”yes” to the prompt that asks you if all unsaved changes shall be saved.

After you have selected a QDF and closed the dialog you get a prompt asking if the selected QDF shall be used automatically when the spooler is started the next time. If you choose ”no” the loaded queues will be available only until the spooler is terminated.


Save Queue Definition File Dialog

This file selection dialog allows you to save the currently defined printer queues to a new QDF.

After you have selected a QDF and closed the dialog you get a prompt asking if the selected QDF shall be used automatically when the spooler is started the next time. If you choose ”no” the loaded queues will be available only until the spooler is terminated.


Select Destination Printer Dialog

This dialog allows you to select the remote printer where the files that you just dragged and dropped onto the Windows LPR Spooler window or icon shall be sent. Just select the appropriate printer in the listbox and press the Ok button.


Select Files To Be Printed Dialog

This dialog allows you to select one or more files to be printed on one of the defined remote printers. When you have selected the desired files, press the Ok button. You will then be prompted for the destination printer.


Remote Queue Status Display

This dialog shows you the status of the currently selected remote queue. You can perform the following actions here:

Close queue status display
You can close the window by pressing the Done button.

Remove job(s) from remote printer queue
You can remove one or more of the jobs that are currently waiting to be printed on the remote printer. You can highlight the lines in the display that show the jobs you want to cancel. You can select a range of lines by clicking on the first line of the range and then shift-clicking the last line. You can add individual lines to the selection by holding the Control key while you click on the line. Then click on the Remove remote jobs button. You get another dialog where you can enter the job numbers that identify the print jobs you want to cancel. When you have selected one or more lines in the queue status listing the input field are already pre-filled with the job numbers of the selected jobs. When you then click the Ok button the selected print jobs are deleted from the remote printer queue. After this the queue status listing is automatically refreshed.

Refresh display
Refresh the queue status listing by pressing the Refresh display button.


Local Queue Status Display

This dialog shows you the status of all files that have not yet been sent to the selected remote queue. You see the job title, the job size, and the date and time when the job was created. The topmost job shown is the one sent next. Each line also shows whether the spoolfile will be deleted after being printed (D) or will be kept (K).

There are certain ways to manipulate the unsent spool files which are listed below. You can select a range of lines by clicking on the first line of the range and then shift-clicking the last line. You can add individual lines to the selection by holding the Control key while you click on the line.

This dialog is non-modal, meaning that it does not block the main window and any transfer that is going on. You can also open it for multiple local queues at once.

The following things can be done with the available spool file (note that some of the buttons are not shown by default; you can expand the dialog by pressing the >> button to make them available):

Delete one or more files from the local queue
You can delete one or more jobs from the local queue by selecting the desired jobs and pressing the Delete button.

Mark job(s) ”delete after print (D)

Mark job(s) ”keep after print (K)”
You can select one or more jobs and change their attributes to ”D” (delete after print) with the Mark ”D” button and to ”K” (keep after print) with the Mark ”K” button respectively.

Merge two or more jobs into one
You can have the spooler merge two or more print jobs into one spool file. This allows you to assure that jobs come out of the printer with no other jobs in between, and in the given order. If the remote print server generates banner pages this will also cause the whole set of jobs to be prepended by just one banner page. This can save a lot of paper if you have to print a lot of small jobs which would normally be separated by a banner page. The jobs are merged in the order they appear in the job list. You cannot merge jobs with the attribute ”keep after print.

Give new title to one or more jobs
You can give a new title to one or more jobs by selecting the desired jobs and pressing the New Title button. This will bring up another dialog where you can enter the new job title.

Move job within job list
You can move a selected job from its current position either one position up or down, or to the top or bottom of the list by pressing the corresponding button.


Printer Browser DLL

If you belong to an organization with a number of centrally maintained printers you can supply the spooler with a Printer Browser DLL that allows the user to select one of the available printers to automatically fill in the Edit Queue Data dialog. This DLL which has to be named WPRBRWSE.DLL must reside in the WINDOWS directory, the WINDOWS\SYSTEM directory, in the directory where the spooler is installed, or in a directory listed in your PATH environment variable. If the spooler cannot find such a DLL, the Browse button in the Edit Queue Data dialog is deacticvated.

The spooler distribution contains a simple WPRBRWSE.DLL which presents all printers listed in the file WPRBRWSE.DAT. This file is searched in the same places as the DLL itself (see above). A sample WPRBRWSE.DAT is also included in the distribution. Take a look at the inline comments in this file to see how it has to be structured.

If you want to build a customized version of WPRBRWSE.DLL, you can use the included WPRBRWSE.H file which describes the API that this DLL must export. Upon request we can also supply you with the sources of the sample WPRBRWSE.DLL.

Note that the included WPRBRWSE.* files are not automatically installed with the application. They are included in uncompressed form on the distribution disk and in the ZIP archive so that they can easily be copied to disk.


Set New Job Title Dialog
Set New Job Title

This dialog allows you to change the job title of the job(s) selected in the ”Show local queue status” dialog. Enter the new title in the text entry field and press Ok.

Valid characters are all alphanumeric characters, space, and the special characters

;.:-_"'+~*!$%&/()=?\^<>|@


QDF
QDF means Queue Definition File. This is the file where the spooler stores the settings of all remote printer queues that are defined.